package com.sc.VenusQueryBeta.contract.account.xiaofei;


import com.hengjun.kingstar.sdk.base.BasePresenter;
import com.hengjun.kingstar.sdk.base.IBaseActivity;
import com.hengjun.kingstar.sdk.base.IBaseModel;
import com.sc.VenusQueryBeta.model.bean.account.AccountList;
import com.sc.VenusQueryBeta.model.bean.account.AllRoomListBean;
import com.sc.VenusQueryBeta.model.bean.account.CurrencyListBean;
import com.sc.VenusQueryBeta.model.bean.account.MaxChangemonthBean;

import io.reactivex.Observable;

/**
 * Created by SC-02 on 2018/9/19.
 *  消费明细Contract(契约)接口
 */
public interface XiaoFeiContract {
abstract class XiaoFeiPresenter extends BasePresenter<IXiaoFeiModel,IXiaoFeiView>{
   //查询币种(根据账房那边排序)
//    public abstract void queryAllRoomList(String serverAddress, String projectName, int serverPort);
    public abstract void queryAllCurrencyList(String serverAddress, String projectName, int serverPort);

    //查询子户口
//    public abstract void queryClientReserved02(String serverAddress, String projectName, int serverPort,int clientindex,int roomid, String roomyear,
//                                               String roommonth,String recognitionValue,String depositType);
    public abstract void queryClientReserved02(String serverAddress, String projectName, int serverPort,int clientindex, String roomyear,
                                               String roommonth,String recognitionValue,String depositType,String currencynameCN);

    //查询最大日期
//    public abstract void queryMaxChangemonth(String serverAddress, String projectName, int serverPort, int roomid);
}
interface IXiaoFeiModel extends IBaseModel{
    //查询厅(根据账房那边排序)
//    Observable<AllRoomListBean> queryAllRoomList(String serverAddress, String projectName, int serverPort);
    Observable<CurrencyListBean> queryAllCurrencyList(String serverAddress, String projectName, int serverPort);

    //查询子户口
//    Observable<AccountList> queryZiHuList(String serverAddress, String projectName, int serverPort, int clientindex, int roomid, String roomyear,
//                                          String roommonth, String recognitionValue, String depositType);
    Observable<AccountList> queryZiHuList(String serverAddress, String projectName, int serverPort, int clientindex,  String roomyear,
                                          String roommonth, String recognitionValue, String depositType,String currencynameCN);

    //查询最大日期
//    Observable<MaxChangemonthBean> queryMaxChangemonth(String serverAddress, String projectName, int serverPort, int roomid);
}
interface IXiaoFeiView extends IBaseActivity{
    void showNetworkError(Throwable throwable);
    //查询厅(根据账房那边排序)
    void showqueryAllCurrencyList(CurrencyListBean currencyListBean);
    //子戶口
    void showZiHuKouList(AccountList accountListBean);
    //最大日期
//    void showMaxChangemonthList(MaxChangemonthBean allRoomListBean);

    void showAllCurrencyNetworkError(Throwable throwable);
}
}
